{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "3b4834b9-1f07-4dd8-b712-01d1617e4c87",
   "metadata": {},
   "source": [
    "案例实战：工作年限与收入的线性回归模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "a2e9946b-f029-45d5-a2e5-caebd03aecb2",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>工龄</th>\n",
       "      <th>薪水</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.0</td>\n",
       "      <td>10808</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.1</td>\n",
       "      <td>13611</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.2</td>\n",
       "      <td>12306</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.3</td>\n",
       "      <td>12151</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.3</td>\n",
       "      <td>13057</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    工龄     薪水\n",
       "0  0.0  10808\n",
       "1  0.1  13611\n",
       "2  0.2  12306\n",
       "3  0.3  12151\n",
       "4  0.3  13057"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#1.读取数据\n",
    "import pandas as pd\n",
    "df = pd.read_excel(r\"C:\\Users\\huaihuai\\Desktop\\商业数据分析\\代码\\@Python大数据分析与机器学习商业案例实战\\第3章 线性回归模型\\源代码汇总_Jupyter Notebook格式（推荐）\\IT行业收入表.xlsx\")\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "52938ecf-fa8f-42d1-8f9f-0a9340085c76",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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++STT/Tuu++qqqpK3/jGN7R582bl5eVF+BMAiDZmhAAkrKqqKv3pT3/SO++8o3379ulPf/qTfvnLX6q+vl6PPvqoHnjgAV28eFFLly7V1772Ne3fv9/uIQOwGEEIQML65JNPVFpaqosXLyopKUlDhgzR22+/rVWrVunAgQO65ZZbdOONN2rs2LF66qmnNH36dDU2Nto9bAAWIggBSFjTpk3TNddco5UrV+rMmTOaPHmyZsyYoaKiIm3cuFHXXXediouLtWfPHs2YMUM1NTUaOHCg3cMGYCFabACIa8H2CA0aNEinTp3S8OHDtXv3bt133316/PHHVVlZKcMw1NraqpSUju2U//RP/6TCwsIojh5ApDEjBCChDRgwQP/3f/+nxsZGbdiwQampqcrMzNSXv/xlffWrX9XEiRN15swZ7dixQ1dffbXdwwVgMU6NAUhoKSkp+slPfqJnn31WP/nJTzRw4EClpKSouLhY58+f19ChQ3XPPffol7/8pVwul93DBWAxZoQAxIWWlha1tLSYure9vV3nz59Xa2urWlpa5PP59N3vfldbtmyR2+2WJB0/flyTJk3SnDlzdOutt6q8vDySwwdgE/YIAYgLL730kubOnauUlJSgMzdtbW1qbW3Va6+9pvvvv1+LFy9WfX29jh8/rv/93//Vb37zG11//fWqrq7Wbbfdppdeeknf+ta3ovRJAEQTQQhAXPAXRQzlfkl6+eWXNWTIEA0ZMkR5eXm677779G//9m8aO3aspI5aQ7NmzdLevXuVk5MTkbEDsA9BCACCuHDhgtLT0+0eBoAIIAgBAICExWZpAACQsAhCAAAgYRGEAABAwiIIAQCAhEUQAgAACYsgBAAAEhZBCAAAJCyCEAAASFgEIQAAkLD+f9o+KRj44b8WAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#此时的工龄为自变量，薪水为因变量，通过如下代码进行自变量、因变量选取\n",
    "X = df[['工龄']]\n",
    "Y = df['薪水']\n",
    "#2.通过如下代码可以将此时的散点图绘制出来：\n",
    "from matplotlib import pyplot as plt\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']  \n",
    "plt.scatter(X,Y)\n",
    "plt.xlabel('工龄')\n",
    "plt.ylabel('薪水')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "e1b2425f-f7f4-45ef-a9d1-e8137122fc21",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-1 {\n",
       "  /* Definition of color scheme common for light and dark mode */\n",
       "  --sklearn-color-text: black;\n",
       "  --sklearn-color-line: gray;\n",
       "  /* Definition of color scheme for unfitted estimators */\n",
       "  --sklearn-color-unfitted-level-0: #fff5e6;\n",
       "  --sklearn-color-unfitted-level-1: #f6e4d2;\n",
       "  --sklearn-color-unfitted-level-2: #ffe0b3;\n",
       "  --sklearn-color-unfitted-level-3: chocolate;\n",
       "  /* Definition of color scheme for fitted estimators */\n",
       "  --sklearn-color-fitted-level-0: #f0f8ff;\n",
       "  --sklearn-color-fitted-level-1: #d4ebff;\n",
       "  --sklearn-color-fitted-level-2: #b3dbfd;\n",
       "  --sklearn-color-fitted-level-3: cornflowerblue;\n",
       "\n",
       "  /* Specific color for light theme */\n",
       "  --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
       "  --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-icon: #696969;\n",
       "\n",
       "  @media (prefers-color-scheme: dark) {\n",
       "    /* Redefinition of color scheme for dark theme */\n",
       "    --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
       "    --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-icon: #878787;\n",
       "  }\n",
       "}\n",
       "\n",
       "#sk-container-id-1 {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 pre {\n",
       "  padding: 0;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 input.sk-hidden--visually {\n",
       "  border: 0;\n",
       "  clip: rect(1px 1px 1px 1px);\n",
       "  clip: rect(1px, 1px, 1px, 1px);\n",
       "  height: 1px;\n",
       "  margin: -1px;\n",
       "  overflow: hidden;\n",
       "  padding: 0;\n",
       "  position: absolute;\n",
       "  width: 1px;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-dashed-wrapped {\n",
       "  border: 1px dashed var(--sklearn-color-line);\n",
       "  margin: 0 0.4em 0.5em 0.4em;\n",
       "  box-sizing: border-box;\n",
       "  padding-bottom: 0.4em;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-container {\n",
       "  /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
       "     but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
       "     so we also need the `!important` here to be able to override the\n",
       "     default hidden behavior on the sphinx rendered scikit-learn.org.\n",
       "     See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
       "  display: inline-block !important;\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-text-repr-fallback {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       "div.sk-parallel-item,\n",
       "div.sk-serial,\n",
       "div.sk-item {\n",
       "  /* draw centered vertical line to link estimators */\n",
       "  background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
       "  background-size: 2px 100%;\n",
       "  background-repeat: no-repeat;\n",
       "  background-position: center center;\n",
       "}\n",
       "\n",
       "/* Parallel-specific style estimator block */\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item::after {\n",
       "  content: \"\";\n",
       "  width: 100%;\n",
       "  border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
       "  flex-grow: 1;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel {\n",
       "  display: flex;\n",
       "  align-items: stretch;\n",
       "  justify-content: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item:first-child::after {\n",
       "  align-self: flex-end;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item:last-child::after {\n",
       "  align-self: flex-start;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item:only-child::after {\n",
       "  width: 0;\n",
       "}\n",
       "\n",
       "/* Serial-specific style estimator block */\n",
       "\n",
       "#sk-container-id-1 div.sk-serial {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "  align-items: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  padding-right: 1em;\n",
       "  padding-left: 1em;\n",
       "}\n",
       "\n",
       "\n",
       "/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
       "clickable and can be expanded/collapsed.\n",
       "- Pipeline and ColumnTransformer use this feature and define the default style\n",
       "- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
       "*/\n",
       "\n",
       "/* Pipeline and ColumnTransformer style (default) */\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable {\n",
       "  /* Default theme specific background. It is overwritten whether we have a\n",
       "  specific estimator or a Pipeline/ColumnTransformer */\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "/* Toggleable label */\n",
       "#sk-container-id-1 label.sk-toggleable__label {\n",
       "  cursor: pointer;\n",
       "  display: block;\n",
       "  width: 100%;\n",
       "  margin-bottom: 0;\n",
       "  padding: 0.5em;\n",
       "  box-sizing: border-box;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 label.sk-toggleable__label-arrow:before {\n",
       "  /* Arrow on the left of the label */\n",
       "  content: \"▸\";\n",
       "  float: left;\n",
       "  margin-right: 0.25em;\n",
       "  color: var(--sklearn-color-icon);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "/* Toggleable content - dropdown */\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content {\n",
       "  max-height: 0;\n",
       "  max-width: 0;\n",
       "  overflow: hidden;\n",
       "  text-align: left;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content pre {\n",
       "  margin: 0.2em;\n",
       "  border-radius: 0.25em;\n",
       "  color: var(--sklearn-color-text);\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content.fitted pre {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
       "  /* Expand drop-down */\n",
       "  max-height: 200px;\n",
       "  max-width: 100%;\n",
       "  overflow: auto;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
       "  content: \"▾\";\n",
       "}\n",
       "\n",
       "/* Pipeline/ColumnTransformer-specific style */\n",
       "\n",
       "#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator-specific style */\n",
       "\n",
       "/* Colorize estimator box */\n",
       "#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-label label.sk-toggleable__label,\n",
       "#sk-container-id-1 div.sk-label label {\n",
       "  /* The background is the default theme color */\n",
       "  color: var(--sklearn-color-text-on-default-background);\n",
       "}\n",
       "\n",
       "/* On hover, darken the color of the background */\n",
       "#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "/* Label box, darken color on hover, fitted */\n",
       "#sk-container-id-1 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator label */\n",
       "\n",
       "#sk-container-id-1 div.sk-label label {\n",
       "  font-family: monospace;\n",
       "  font-weight: bold;\n",
       "  display: inline-block;\n",
       "  line-height: 1.2em;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-label-container {\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "/* Estimator-specific */\n",
       "#sk-container-id-1 div.sk-estimator {\n",
       "  font-family: monospace;\n",
       "  border: 1px dotted var(--sklearn-color-border-box);\n",
       "  border-radius: 0.25em;\n",
       "  box-sizing: border-box;\n",
       "  margin-bottom: 0.5em;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-estimator.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "/* on hover */\n",
       "#sk-container-id-1 div.sk-estimator:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-estimator.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
       "\n",
       "/* Common style for \"i\" and \"?\" */\n",
       "\n",
       ".sk-estimator-doc-link,\n",
       "a:link.sk-estimator-doc-link,\n",
       "a:visited.sk-estimator-doc-link {\n",
       "  float: right;\n",
       "  font-size: smaller;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1em;\n",
       "  height: 1em;\n",
       "  width: 1em;\n",
       "  text-decoration: none !important;\n",
       "  margin-left: 1ex;\n",
       "  /* unfitted */\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted,\n",
       "a:link.sk-estimator-doc-link.fitted,\n",
       "a:visited.sk-estimator-doc-link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "/* Span, style for the box shown on hovering the info icon */\n",
       ".sk-estimator-doc-link span {\n",
       "  display: none;\n",
       "  z-index: 9999;\n",
       "  position: relative;\n",
       "  font-weight: normal;\n",
       "  right: .2ex;\n",
       "  padding: .5ex;\n",
       "  margin: .5ex;\n",
       "  width: min-content;\n",
       "  min-width: 20ex;\n",
       "  max-width: 50ex;\n",
       "  color: var(--sklearn-color-text);\n",
       "  box-shadow: 2pt 2pt 4pt #999;\n",
       "  /* unfitted */\n",
       "  background: var(--sklearn-color-unfitted-level-0);\n",
       "  border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted span {\n",
       "  /* fitted */\n",
       "  background: var(--sklearn-color-fitted-level-0);\n",
       "  border: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link:hover span {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       "/* \"?\"-specific style due to the `<a>` HTML tag */\n",
       "\n",
       "#sk-container-id-1 a.estimator_doc_link {\n",
       "  float: right;\n",
       "  font-size: 1rem;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1rem;\n",
       "  height: 1rem;\n",
       "  width: 1rem;\n",
       "  text-decoration: none;\n",
       "  /* unfitted */\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 a.estimator_doc_link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "#sk-container-id-1 a.estimator_doc_link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 a.estimator_doc_link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>LinearRegression()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">&nbsp;&nbsp;LinearRegression<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.4/modules/generated/sklearn.linear_model.LinearRegression.html\">?<span>Documentation for LinearRegression</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>LinearRegression()</pre></div> </div></div></div></div>"
      ],
      "text/plain": [
       "LinearRegression()"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#3.搭建模型\n",
    "from sklearn.linear_model import LinearRegression\n",
    "regr = LinearRegression()  # 引入模型\n",
    "regr.fit(X,Y)  # 训练模型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "cc2caa82-7fc6-413a-875c-7c2d2bd51925",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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hPLHzZo1o1mzZvz8888APPTQQyxfvpzo6GjeeOMN0tLSWLt2LWBW9e3SpQtffvmllR9LRHxILTZEJGT069fvjB5UN9xwA507d+bJJ5+s8neKi4spKysjIiKC4cOHl9/3yy+/sGnTJjZs2MB1113H0qVLadasmY8/gYj4m2aERCRsbdiwge+++46NGzeyefNmvvvuO9555x0OHDjAQw89xIgRIygqKmLq1KlceeWVbNmyxeohi4iXKQiJSNj65ZdfaN++PUVFRURERNCiRQs+++wzZs2axdatW+nVqxcXXXQR3bp148knn2TQoEHk5ORYPWwR8SIFIREJWwMHDqRt27bMnDmTY8eO0a9fP2699VZSU1NZvHgxF1xwAa1bt2b9+vXceuutbNu2jUaNGlk9bBHxIrXYEJGQ5mqPUOPGjTly5AitWrVi3bp1DB8+nEcffZS1a9diGAYlJSVERZnbKe+++25SUlL8OHoR8TXNCIlIWGvQoAHffvstOTk5LFq0iDp16hAXF8dll13GFVdcQe/evTl27BirVq3i7LPPtnq4IuJlOjUmImEtKiqKv/zlLzz33HP85S9/oVGjRkRFRdG6dWtOnTpFy5YtGTZsGO+88w42m83q4YqIl2lGSERCQnFxMcXFxW7dW1ZWxqlTpygpKaG4uJjCwkJ+97vf8fbbbxMfHw/Avn376Nu3L3feeSdXXXUV6enpvhy+iFhEe4REJCTMnz+fkSNHEhUV5XLmprS0lJKSEpYtW8Y999zDxIkTOXDgAPv27eM///kPH330EZ06dSIzM5M+ffowf/58brrpJj99EhHxJwUhEQkJjqKIntwPsGDBAlq0aEGLFi1o1qwZw4cP54knnqBbt26AWWtoyJAhfPXVVyQmJvpk7CJiHQUhEREXCgoKiImJsXoYIuIDCkIiIiIStrRZWkRERMKWgpCIiIiELQUhERERCVsKQiIiIhK2FIREREQkbCkIiYiISNhSEBIREZGwpSAkIiIiYUtBSERERMLW/wMlPf4HpqpJVgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#4.模型可视化\n",
    "plt.scatter(X,Y)\n",
    "plt.plot(X, regr.predict(X), color='red')  # color='red'设置为红色\n",
    "plt.xlabel('工龄')\n",
    "plt.ylabel('薪水')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "5a26b9dc-9177-4a4e-a99a-b18d1430a8c0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "系数a为:2497.1513476046875\n",
      "截距b为:10143.131966873783\n"
     ]
    }
   ],
   "source": [
    "#5.构造线性回归方程\n",
    "print('系数a为:' + str(regr.coef_[0]))\n",
    "print('截距b为:' + str(regr.intercept_))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9f9cf3cb-d10d-4f6d-8a1e-10e74e898de5",
   "metadata": {},
   "source": [
    "模型优化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "42b600b4-2361-4223-bb13-0ec6f5214513",
   "metadata": {},
   "outputs": [],
   "source": [
    "#通过如下代码生成二次项数据：\n",
    "from sklearn.preprocessing import PolynomialFeatures\n",
    "poly_reg = PolynomialFeatures(degree=2)\n",
    "X_ = poly_reg.fit_transform(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "a33a8243-f826-4125-bc17-b0cee52c6038",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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5cshO9tvyz+uGkICZKYmWq4jE420iVdERMQFqwFk4D+egH/8A2Jj4aWXYMAA4Ojyzx77IZfLUDbMEGJl+efYhpDfVx7ihGTzea1x5sVJAUZERMQFKwFk3Lb3yP73/5l3/O1vcOGFDdedyz8TFq3HBo1ew5fln9gYG0N6dvDhk0QnLSGJiIi44Gn/ydkl67lvyaPmHffcA+PHH/caWv4JHJthGFFZvs/hcJCamordbiclJSXUwxERkQjlqg7MOVU7eea5u4mrPgBXXw2LFrntLl1Xb2j5xyKr398KMCIiIh4cG0CyK/Yw4OqLsX33HZx3HrzxBiQkhHqIUcPq97f2wIiIiHjQsP9k71648mr47js47TR49VWFlxBRgBERkajmavkG8H5J58ABs8ru119D167mzItm+ENGAUZERKKWq/0raUnxAOyvPtJwn9veRgC1tXDVVfDxx5CeDitXwoknBnTs4p5OIYmISFRqro/R/uojjcILuOltBGAYcPPN8PrrkJgIy5bBqacGcuhigQKMiIhEHXd9jFxx2dvI6fe/h2eeMU8ZvfginHmmP4cqPlKAERGRqOOpj5ErjXobOT36KMycaf7+5JNwySU+jaeu3mDNtnKWbixlzbby40OSeE17YEREJOpY7WPk9rnPPw933WX+PmMG3HCDT6/nah+Oxz034pFmYEREJOpY7WPU7HOXL4dx48w77rjDrLTbhJVZleb24bjdcyOWaAZGRESijqc+Rq40NFfcvQV++Uuoq4OxY2H2bLA1PmJtZVbF3T4c48f3m7asmBG5marK6wPNwIiISNRx18fIFedjHukdQ+wvCuDgQbjoInj22eNaBFidVfG0D8flnhuxTAFGRESiUnONFNOS4htqwThlpiay4NxOnPXbsbB/PwwdCi+/DPGNH+dpVgWOnmSyug+nJft1WjMtIYmISNQa2TeLEbmZnivxtqsldtjZsHs39Olj1npJSjru9byZVbG6D6cl+3VaMwUYERGJag19jJpouK+yEs79+dEWAf/9L2RkuHwtb2ZVRvU70e0+nIY9Nzmu36spdbRuTAFGRERar5oas7bLunXQsSO89RZ06dLsw72ZVXHuw5mwaD02aBRinLHjgYJcSyFER7GPpz0wIiLSOjlPGa1aBe3bw4oV8JOfuH2K83RTc5HDhhksnLMqze3DyUxNZO7YgZbC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XHrppeTn54d6KH732WefYRgG/fv3p23btowcOZJvv/021MPyq6eeeoqNGzeSk5PD66+/zpEjR0I9pIA5dOgQjz32GFOnTg31UPwmNzeXVatWsWHDBux2O3/7298YMWJESMaiAGPRpk2byM/PJykpCYB+/fpRXFwc4lH5V7T8F4IVhw8fZvbs2dxyyy2hHorfbdq0ic6dO/Pmm28yZ86cUA/Hr959913eeecdZs2aFeqhBMSWLVvo06cPL774IsXFxcTHxzN+/PhQD8tvqqqquO+++zj55JPZtWsXjz76KMOGDePQoUOhHlpAvPDCC+Tn59O9e/dQD8VvcnNzueKKKxg4cCBpaWl8/PHHzJ49OyRjUYCxyOFwkJOT03DbZrMRGxsblVP0rcF9991H+/btuemmm0I9FL/r168f77zzDn369GHcuHGhHo7fHDp0iPHjxzN37tyobY43ZswY1q5dS15eHjk5OTzxxBO8+eabOByOUA/NL1555RUOHDjAqlWruP/++3nzzTfZv38/CxcuDPXQAmLevHmNZn2jwdq1a1m2bBkff/wxlZWVXH311Vx00UUYIaiJqwBjUVxc3HElkxMTE6murg7RiMRXb731FvPmzeOFF14gPj4+1MPxO5vNxoABA1iwYAFLly6NmpD90EMPkZeXx8UXXxzqoQRNWloa9fX1lJWVhXoofrFr1y7OOOMMMjIyAPP/V/v160dJSUmIR+Z/W7duZevWrQwfPjzUQ/Grf/3rX1x11VUMHjyY9u3b8/DDD7N9+3Y2bdoU9LEowFiUkZHBDz/80Oi+yspK2rRpE6IRiS+2b9/OmDFjmDt3Lrm5uaEejl+tWrWKyZMnN9yOi4sDICYmOv5n/sILL7B06dKGzZEvvPACt9xyS1QtA95555289NJLDbc//fRTYmJiyM7ODuGo/Cc7O5uDBw82uu+bb76hW7duIRpR4Lz00kuMGjUq6v4jqba2lu+++67hdmVlJQcOHKCuri7oY4kL+jtGqLy8PJ5++umG2zt27KCmpqbhvyQk/B08eJBRo0ZxySWXMHr0aKqqqgBo164dNpstxKNrud69e3PJJZdw8sknc+GFF3LfffdxwQUXkJqaGuqh+cX7779PbW1tw+27776b/Px8rrvuutANys/69+/PvffeS2ZmJrW1tUyaNInrrruuYe9dpLv44ouZNGkS8+bNY9SoUbzyyits3LiRkSNHhnpofrdy5cqoWsJ1OvPMM7n++uv5y1/+QufOnXn66afp3Lkz/fr1C/5gQnJ4OwIdOXLE6NSpk/GPf/zDMAzDGD9+vDFq1KgQjyowiNI6MK+++qoBHPcTTZ915cqVxqmnnmokJycbV1xxhfH999+HekgB85vf/CYq68BMmTLFSEtLM7Kzs41bb73VqKqqCvWQ/GrNmjXG0KFDjbZt2xo5OTnGq6++Guoh+V11dbXRpk0bY8uWLaEeit/V19cbDz74oNG1a1cjPj7eGDBggFFYWBiSsagbtReWLFnCNddcQ3JyMnV1daxevZo+ffqEelgiIiKtjgKMl0pLSyksLGTo0KF06tQp1MMRERFplRRgREREJOJEx/EEERERaVUUYERERCTiKMCIiIhIxFGAERERkYijACMiIiIRRwFGREREIo4CjIiIiEQcBRgRERGJOAowIiIiEnH+P1x+ls65AxHZAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#模型训练及可视化\n",
    "regr = LinearRegression()\n",
    "regr.fit(X_, Y)\n",
    "plt.scatter(X,Y)\n",
    "plt.plot(X, regr.predict(X_), color='red')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "6f00256d-917d-4d07-bc99-405d0609d697",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[   0.         -743.68080444  400.80398224]\n",
      "13988.159332096884\n"
     ]
    }
   ],
   "source": [
    "# 打印系数和常数项\n",
    "print(regr.coef_) \n",
    "print(regr.intercept_) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9e9ab7cd-8ea4-4992-b2d2-58d6bc454a04",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
